iT邦幫忙

DAY 11
0

Java 學習筆記系列 第 11

Java 學習筆記 [11] 遞迴

  • 分享至 

  • xImage
  •  

大家好噢,假日想出去玩的心太雀躍了~~~

只有小練習下下,練著練著翻到蠻有確的單元遞迴

因為可以練到一個很有趣的程式!

大樂透開獎程式 (說好不可以找兌獎)

先讓小菜鳥說明一下下蝦密是遞迴,

如果方法(method)中有一行程是敘述在呼叫自己的方法時,

稱為遞迴(Recursive),使用遞迴會不斷呼叫方法,

這樣會變成無窮迴圈,必須在遞迴的方法中設定條件來結束方法,

遞迴常常使用在具有規則性的運算程式,

例如:最大公因數、排列、組合、階層...等等。

以下就來看一下有趣的開獎程式,我都想自己簽了....

public class iRonManLotto {
	static void getRnd(int[] vArray, int min, int max, int num) {
		int max_dim, rem_num, choice;
		max_dim = max - min + 1;
		int[] t = new int[max_dim];
		for (int i = 0; i <= max_dim - 1; i++) {
			t[i] = min + i;
		}
		rem_num = max_dim;
		for (int i = 0; i <= num - 1; i++) {
			choice = (int) (Math.random() * rem_num);
			vArray[i] = t[choice];
			for (int j = choice; j < rem_num - 1; j++) {
				t[j] = t[j + 1];
			}
			rem_num--;
		}
	}

	public static void main(String[] args) {
		int[] lot = new int[7];
		getRnd(lot, 1, 49, 7);
		System.out.println("本期大樂透開獎號碼如下:");
		for (int i = 0; i < 6; i++)
			System.out.print("  " + lot[i]);
		System.out.print("\n特別號: " + lot[6]);
                System.out.print("\n祝您中大獎!");
	}
}

小菜鳥在這祝大家週末愉快!


上一篇
Java 學習筆記 [10] 呼叫~~~
下一篇
Java 學習筆記 [12] 物件與類別
系列文
Java 學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言